#!/bin/bash

STATIS_DATE=$1

# Gbase数据库导出参数
GBASE_USER=$(sed -n '1p' lakeConfig.txt | base64 --decode)
GBASE_PASS=$(sed -n '2p' lakeConfig.txt | base64 --decode)
GBASE_HOST=$(sed -n '3p' lakeConfig.txt)
GBASE_PORT=$(sed -n '4p' lakeConfig.txt)
DATABASE_NAME=$(sed -n '5p' lakeConfig.txt)


# FTP服务器参数
FTP_HOST=$(sed -n '6p' lakeConfig.txt)
FTP_PORT=$(sed -n '7p' lakeConfig.txt)
FTP_USER=$(sed -n '8p' lakeConfig.txt | base64 --decode)
FTP_PASS=$(sed -n '9p' lakeConfig.txt | base64 --decode)
FTP_DIR=$(sed -n '10p' lakeConfig.txt)/${STATIS_DATE}

# 导出文件参数
FILE_DIR=$(sed -n '11p' lakeConfig.txt)/${STATIS_DATE}
FILE_DATE=$(date -d "1 day ago" "+%Y%m%d")
EXP_FILE_NAME="${fileName}.${FILE_DATE}${increaseAll}"
NOW_GZ_NAME="${EXP_FILE_NAME}.gz.now"
GZ_NAME="${EXP_FILE_NAME}.gz"


#判断导出目录是否存在,不存在新建
# 判断文件夹是否存在
if [ ! -d "$FILE_DIR" ]; then
# 如果不存在，则创建文件夹
mkdir -p "$FILE_DIR"
echo "文件夹 '$FILE_DIR' 已创建。"
else
echo "文件夹 '$FILE_DIR' 已存在。"
fi


#进入工作目录
cd $FILE_DIR

# Gbase 数据导出
gccli -vvv  -u"$GBASE_USER"  -p"$GBASE_PASS"  -D"$DATABASE_NAME"  -h"$GBASE_HOST"  -P"$GBASE_PORT"  -e"SELECT concat(CONCAT_WS('|',${column},'|')) FROM odm.${tableName};
select concat('|||diip-control|||{\"TabName\":\"','${tableName}','\",\"AssemblyID\":\"RGX000\",\"PlatformID\":\"P6\",\"IsSplitFlag\":\"0\",\"MechanismID\":\"000021\",\"DataStartDate\":\"',${FILE_DATE},'\",\"DataEndDate\":\"',${FILE_DATE},'\",\"IncID\":\"${increaseAll}\",\"RecNum\":\"',(select count(*) from odm.${tableName} where date_id = ${FILE_DATE}),'\",\"Sep\":\"|\",\"CycFlag\":\"D\",\"TableGenType\":\"1\",\"GenTime\":\"',(SELECT SUBSTRING(DATE_FORMAT(NOW(),'%Y%m%d %T:%f'),1,20)),'\"}') from odm.dual;">${EXP_FILE_NAME};

# 检查导出文件是否存在

if [ ! -f"$EXP_FILE_NAME" ];then
echo "导出文件不存在"
exit 1
fi

#打包文件${NOW_GZ_NAME}并删除${EXP_FILE_NAME}
gzip -c ${EXP_FILE_NAME} >$FILE_DIR/${NOW_GZ_NAME}
rm -rf ${EXP_FILE_NAME}


# 使用FTP上传文件
ftp -v -n ${FTP_HOST} ${FTP_PORT}<<EOF
user ${FTP_USER} ${FTP_PASS}
binary
cd ${FTP_DIR}
prompt
put ${NOW_GZ_NAME}
rename ${NOW_GZ_NAME} ${GZ_NAME}
bye
EOF

echo "文件传输完成，程序结束！！"